package com.gljx.web.service;

import com.gljx.web.Entity.SubjectThreeReg;
import com.gljx.web.Entity.User;

import java.util.List;
import java.util.Map;


public interface SubjectThreeRegService {
	Map<String, Object> selectPageCount(String psql);

    Map<String, Object> selectPage(int pindex, String psql, int psize);
    
    /**
	 * 查找最大编码
	 * @return
	 */
	String selectFnumber(String companyId);
	/**
	 * 增加科目二考试登记
	 * @param subjectThreeReg
	 * @param subfid
	 * @param subfseq
	 * @param subcfzkzmbh
	 * @param subcfnumber
	 * @param subcfkmsbh
	 * @param subfnameL2
	 * @param substufnumber
	 * @param subcfidcardno
	 * @param subcfsex
	 * @param subcfsjhm
	 * @param subcflxdh
	 * @param subcftjrName
	 * @param cfsqzjcxdh
	 * @param subcfjiaolianid
	 * @param subcfchepai
	 * @param subcfchexing
	 * @param subcflocal
	 * @param subcfkscs
	 * @param subcfckbk
	 * @param subcfbkfcs
	 * @param subcfbkfze
	 * @param subcfbxwx
	 * @param subcfkmyjgsj
	 * @param subcfkmehgsj
	 * @param subcfkmsbjgsj
	 * @param subcfclazz
	 * @param subcfysje
	 * @param subcfyhje
	 * @param subcfyisje
	 * @param subcfqfje
	 * @param subcfdajj
	 * @param subcfjnbjj
	 */
	int addSubjectThreeReg(User user,SubjectThreeReg subjectThreeReg,String [] subfid,String [] subfseq,String [] subcfzkzmbh,String [] subcfnumber,String [] subcfkmsbh,String [] subfnameL2,String [] substufnumber,String [] subcfidcardno,
			String [] subcfsex,String [] subcfsjhm,String [] subcflxdh,String [] subcftjrName,String [] subcfsqzjcxdh,String [] subcfjiaolianid,String [] subjlname,String [] subcfchepai,String [] subcfchexing,String [] subcflocal,String [] subcfkscs,
			String [] subcfckbk,String [] subcfbkfcs,String [] subcfbkfze,String [] subcfbxwx,String [] subcfkmyjgsj,String [] subcfkmehgsj,String [] subcfkmsbjgsj,String [] subcfclazz,String [] subcfysje,String [] subcfyhje,String [] subcfyisje,
			String [] subcfqfje,String [] subcfdajj,String [] subcfjnbjj,String [] subcfremark);
	/**
	 * 审核
	 * @param subjectThreeReg
	 */
	int updateSubjectThreeReg(SubjectThreeReg subjectThreeReg);
	
	/**
	 *修改 
	 */
	int updateSubjectThreeReg(User user, SubjectThreeReg subjectThreeReg, String [] subfid, String [] subfseq, String [] subcfzkzmbh, String [] subcfnumber, String [] subcfkmsbh, String [] subfnameL2, String [] substufnumber, String [] subcfidcardno,
							  String [] subcfsex, String [] subcfsjhm, String [] subcflxdh, String [] subcftjrName, String [] subcfsqzjcxdh, String [] subcfjiaolianid, String [] subjlname,String [] subcfchepai, String [] subcfchexing, String [] subcflocal, String [] subcfkscs,
							  String [] subcfckbk, String [] subcfbkfcs, String [] subcfbkfze, String [] subcfbxwx, String [] subcfkmyjgsj, String [] subcfkmehgsj, String [] subcfkmsbjgsj, String [] subcfclazz, String [] subcfysje, String [] subcfyhje, String [] subcfyisje,
							  String [] subcfqfje, String [] subcfdajj, String [] subcfjnbjj,String [] subcfremark);
	/**
	 * 根据fid删除科目二考试登记
	 * @param fid
	 * @return
	 */
	int deleteByPrimaryKey(String fid);
	
	/**
	 * 根据fid查找科目三考试登记信息
	 * @param fid
	 * @return
	 */
	SubjectThreeReg selSubjectThreeRegByFid(String fid);
	
	/**
	 * 根据业务日期查找科目三考试登记信息的单据
	 * @param fbizdate
	 * @param cfcartype
	 * @return
	 */
	List<SubjectThreeReg> selSubjectThreeRegByfbizdate(String companyid,String fbizdate,String cfcartype);
	
	/**
	 * 统计查询科目三报考人数 按日期
	 * @param companyId
	 * @param beginTime
	 * @param endTime
	 * @return
	 */
	List<SubjectThreeReg> selSubjectThreeSumEnterPersons( String companyId,String beginTime,String endTime);
	
	/**
	 * 统计查询科目三  考试合格 不合格 缺考 人数  按日期
	 * @param companyId
	 * @param beginTime
	 * @param endTime
	 * @return
	 */
	List<SubjectThreeReg> selSubjectThreeResultPassExamRate( String companyId,String beginTime,String endTime);
	/**
	 * 统计查询科目三报考人数 按月份
	 * @param companyId
	 * @param beginTime
	 * @param endTime
	 * @return
	 */
	List<SubjectThreeReg> selSubjectThreeSumEnterPersonsByMonth( String companyId,String beginTime,String endTime);
	
	/**
	 * 统计查询科目三  考试合格 不合格 缺考 人数  按月份
	 * @param companyId
	 * @param beginTime
	 * @param endTime
	 * @return
	 */
	List<SubjectThreeReg> selSubjectThreeResultPassExamRateByMonth( String companyId,String beginTime,String endTime);

	/**
	 * 查找审核单据对应的经办人
	 * @param fnumber
	 * @return
	 */
	String selectAuditPerson(User user,Object fnumber);

	/**
	 * 查看科目三考试登记 导出Excel
	 * @param companyId
	 * @param fnumber
	 * @param fdescription
	 * @param beginTime
	 * @param endTime
	 * @return
	 */
	List<SubjectThreeReg> selectSubjectThreeReg(String companyId,String fnumber,String fdescription,String beginTime,String endTime);
}
